home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_oth / tasking / getpsp.def < prev    next >
Text File  |  1986-05-20  |  2KB  |  58 lines

  1. DEFINITION MODULE GetPSP;
  2.  
  3.   FROM SYSTEM IMPORT BYTE, ADDRESS;
  4.  
  5.   EXPORT QUALIFIED PSP, FCB, PSPptr, ENVIRptr, getarg, getenv;
  6.  
  7.   TYPE
  8.     FCB = RECORD
  9.         Drive: CHAR;
  10.         FileName1: CHAR;
  11.         FileName2: CHAR;
  12.         FileName3: CHAR;
  13.         FileName4: CHAR;
  14.         FileName5: CHAR;
  15.         FileName6: CHAR;
  16.         FileName7: CHAR;
  17.         FileName8: CHAR;
  18.         Extension1: CHAR;
  19.         Extension2: CHAR;
  20.         Extension3: CHAR;
  21.         CurrentBlock: CARDINAL;
  22.         RecordSize: CARDINAL;
  23.       END;
  24.  
  25.     PSP = RECORD                                                (* offset *)
  26.       INT20H: ARRAY [0 .. 1] OF BYTE;                             (* 00H *)
  27.       MemLimitSeg: CARDINAL;                                      (* 02H *)
  28.       Reserved: BYTE;                                             (* 04H *)
  29.       LongCall: BYTE; (* JUMP ADR(LongCall), not useful *)        (* 05H *)
  30.       SegSize: CARDINAL; (* long call offset, not usefull *)      (* 06H *)
  31.       LongCallSeg: CARDINAL; (* not usefull *)                    (* 08H *)
  32.       Terminate: ADDRESS;                                         (* 0AH *)
  33.       CTRLcExit: ADDRESS;                                         (* 0EH *)
  34.       HardErrorExit: ADDRESS;                                     (* 12H *)
  35.       DOS1: ARRAY [0 .. 15H] OF BYTE; (* do not use *)            (* 16H *)
  36.       EnvironmentSeg: CARDINAL;                                   (* 2CH *)
  37.       DOS2: ARRAY [0 .. 2DH] OF BYTE; (* do not use *)            (* 2EH *)
  38.       FCB1: FCB;                                                  (* 5CH *)
  39.       FCB2: FCB;                                                  (* 6CH *)
  40.       Filler: ARRAY [0 .. 3] OF BYTE;                             (* 7CH *)
  41.       commTail: ARRAY [0..127] OF CHAR; (* commTail[0] is size *) (* 80H *)
  42.     END;
  43.  
  44.   VAR
  45.     PSPptr: POINTER TO PSP;
  46.  
  47.     ENVIRptr: POINTER TO ARRAY [0 .. 7FFFH] OF CHAR;
  48.       (* initialized from EnvironmentSeg *)
  49.  
  50.   TYPE
  51.     argno = [0 .. 63];
  52.  
  53.   PROCEDURE getarg(argnum: argno; VAR arg: ARRAY OF CHAR);
  54.  
  55.   PROCEDURE getenv(key: ARRAY OF CHAR; VAR val: ARRAY OF CHAR);
  56.  
  57.   END GetPSP.
  58.